In the realm of RF-ID many problems exist but present themselves as merely trade-offs of technology. For example, the read range of an interrogator may have a certain limit, but the limit is based on technological distinctions such as size of the read antenna or orientation of the transponder with respect to the interrogator, or perhaps FCC regulations. However, reading a multiplicity of transponders within any given read range presents itself in a much different light Reading a multiplicity of transponders presents itself in applications such as inventory control, asset management or hands-free access control. Inherently, the problem arises when several transponders within the read range of an interrogator respond simultaneously on a unique communication channel to a global (broadcast) interrogation signal. What results from this simultaneous transmission is an unintelligible signal at the interrogator's receiver. In other words, neither transponder is identified, the whole purpose of the RF-ID system is defeated.
Previously, solutions to the collisions have ranged from addressing a particular transponder to time delaying each transponders response a unique amount of time according to each transponder. Of course, both of the mentioned previous solutions add additional time to read all the transponders within the read range because of having to individually address each transponder or because of having to wait for the sum total of all transponder wait times plus responses, making the entire RF-ID system less efficient. In addition, even when individually addressing transponders, the issue is that the address of each individual transponder is initially unknown, since the transponders present within the reader range are just a sample of a much larger population (several millions or even hundred of millions). It is a bit like attempting to call each member of a group of persons by its name before even knowing this name. A similar situation exists on a computer network (LAN or WAN) when the address of all stations (computers) are unknown.
Mechanisms for solving these problems exist, for instance, such as Collision Detection, followed by random retry. However, while these mechanisms can easily be implemented on sophisticated computers, they are much too complex to be implemented on low-cost devices such as transponders. Moreover, the fact that the transponders are battery-less (or at least power consumption conscious) implies that it is difficult or even impossible to keep a record of previous transactions. Thus, it should be the responsibility of the reader to handle the entire responsibility of inventorying.
Considering a population of several hundred millions, scanning the whole range of addresses is unpractical because it would take a prohibitive length of time. A more practical approach has been proposed in a previously filed application, Ser. No. 08/588,657 filed on Jan. 19, 1996, and assigned to Texas Instruments Incorporated, where only a part of the transponder address, the sub.sub.-- address, is scanned (the Less Significant 4 Bits on a 32 bits address for instance). In the case of this example, there are 16 different positions (2 power 4): if only two transponders are located within the field, the probability that any two transponders have the same sub-address is 1/16 or 6.25%. This probability will increase in proportion with the number of transponders. One way to reduce this probability is to increase the size of the sub-address, for instance to 8 bits instead of 4 bits. However, doing so increases the reading time without even being 100% sure of avoiding all collisions, i.e. reading all of the transponders located within the read range.
If N is the size of the sub.sub.-- address and T is the number of transponders in the field, the inventorying time is: 2 N*reader.sub.-- request.sub.-- time+T*transponder.sub.-- response.sub.-- time. Assuming 20 transponders exist within the read range, a reader request time of 50 ms, a transponder request time of 30 ms and a sub-address on 8 bits, the inventorying time is: 2 8*50 ms+20*30 ms=12,600 ms+600 ms=13,400 ms or 13.4 seconds . . . and the probability that a collision will result (i.e. not being able to inventory two or more transponders) is 52.4%. The required time of 13.4 seconds is deemed unacceptable by the market. Thus the need has arisen for a system capable to address efficiently this market requirement, both in terms of timing and cost of implementation (meaning that most of the intelligence must be in the reader system).